package com.foreknow.demo9;
//统计一个数中每个数出现多少次

import java.util.*;

public class Example1 {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        Random random = new Random();
        //产生随机数保存到list中
        for (int i = 0; i < 100; i++) {
            list.add(random.nextInt(50));
        }
        //创建一个map容器
        Map<Integer,Integer> map = new HashMap<>();
        //遍历list集合
        for (int i = 0;i<list.size();i++){
            Integer key = list.get(i);
            //判断map集合中的key是否为空，如果为空就将从list中获取到的元素当key保存到map集合中
            //如果不为空要根据key获取到的对应的value加1
            if (map.get(key)==null){
                map.put(key,1);
            }else {
               int value =  map.get(key);
               map.put(key,value+1);
            }
        }
        //遍历map数组聚合输出结果
        Set<Map.Entry<Integer,Integer>> set =  map.entrySet();
        Iterator<Map.Entry<Integer, Integer>> it = set.iterator();
        int num = 0;
        while (it.hasNext()){
            Map.Entry<Integer,Integer> m = it.next();
            System.out.println(m.getKey()+"出现的次数："+m.getValue());
            num += m.getValue();
        }
        System.out.println(num);
    }
}
